<?php
namespace Model;

class UserLogin{
	
	private static $sessionUsername = "self::sessionUsername";
	private static $sessionPassword = "self::sessionPassword";
	private static $sessionValidation = "self::sessionValidation";
	private $cookieTimer = "";
	
	public function __construct(){
		$this->cookieTimer = time() + 60;
	}
	
	/**
	 * @param $userName (Det angivna användarnamnet)
	 * @param $passWord (Det angivna lösenordet) 
	 * 
	 * @return Boolean (Huruvida inloggning lyckades eller inte)
	 */
	public function userLoginCheck($userName, $passWord){
		//TODO: Se över om felhanteringen behöver ändras.	
		if($userName == "Admin" && $passWord == "Password"){			
				return true;	
		}
		return false;
	}
	
	/**
	 * @param $userName (Det angivna användarnamnet)
	 * @param $passWord (Det angivna lösenordet) 
	 * 
	 * @return String (Meddelandet till användaren.)
	 */
	public function loginMessageCheck($userName, $passWord){
		if($userName == ""){
			return "Användarnamn saknas";
		}
		if($userName == "Admin"){
			if($passWord == ""){
				return "Lösenord saknas";
			}
			else if($passWord == "Password"){
				return "Du är nu inloggad";
			}
			else{
				return "Du har angivit fel användarnamn och/eller lösenord";
			}
		}
		else{
			return "Du har angivit fel användarnamn och/eller lösenord";
		}
	}
	
	/**
	 * @return boolean (Huruvida det finns sparad info i sessionen eller inte)
	 */
	public function isSessionCreated(){
		if($this->getSessionUsername() != "" && $this->getSessionPassword() != ""){
			return true;
		}
		else{
			return false;
		}
	}
	
	/**
	 * @return boolean (kollar om sessionvalidering är satt eller ej)
	 */
	public function checkSessionValidation(){
		if(isset($_SESSION[self::$sessionValidation])){
			return true;
		}
		else{
			return false;
		}
	}
	
	/**
	 * @param $validation (värdet för sessionsvalideringen av webbrowser)
	 */
	public function setSessionValidation($validation){
		$_SESSION[self::$sessionValidation] = $validation;
	}
	
	/**
	 * @return $_SERVER (Infosträng gällande webbrowservalidering)
	 */
	public function getSessionValidation(){
		if(isset($_SESSION[self::$sessionValidation])){
			return $_SESSION[self::$sessionValidation];
		}
		else{
			return "";
		}
	}
	
	/**
	 * @param $userName (det validerade användarnamnet som ska sparas i sessionen)
	 */
	public function setSessionUsername($userName){
		$_SESSION[self::$sessionUsername] = $userName;
	}
	
	/**
	 * @param $passWord (det validerade lösenordet som ska sparas i sessionen)
	 */
	public function setSessionPassword($passWord){
		$_SESSION[self::$sessionPassword] = $passWord;
	}
	
	/**
	 * @return string (Det sparade användarnamnet för sessionen)
	 */
	public function getSessionUsername(){
		if(isset($_SESSION[self::$sessionUsername])){
			return $_SESSION[self::$sessionUsername];
		}
		else{
			return "";
		}
	}
	
	/**
	 * @return string (Det sparade lösenordet för sessionen)
	 */
	public function getSessionPassword(){
		if(isset($_SESSION[self::$sessionPassword])){
			return $_SESSION[self::$sessionPassword];
		}
		else{
			return "";
		}
	}
	
	public function unsetEntireSession(){
		unset($_SESSION[self::$sessionUsername]);
		unset($_SESSION[self::$sessionPassword]);
		unset($_SESSION[self::$sessionValidation]);
	}
	
	/**
	 * @return file_get_contents (Innehållet från filen cookietimer.txt)
	 */
	public function getCookieTimer(){
		return file_get_contents("cookieTimer.txt");
	}
	
	/**
	 * @return integer (Tiden för kakorna)
	 */
	public function setCookieTimer(){
		file_put_contents("cookietimer.txt", "$this->cookieTimer");
		
		return $this->cookieTimer;
	}
}



			
			